Evaluation of Deterministic Fault Injection for Fault-Tolerant Protocol Testing



Klaus Echtle
Universitat Dortmund, Fachbereich Informatik
Box 500 500, W-4600 Dortmund 50, Germany

Yinong Chen
Universitat Karlsruhe, Institut fur Rechnerentwurf und Fehlertoleranz
Box 6980, W-7500 Karlsruhe 1, Germany

Abstract

A fault-tolerant protocol is defined by the exchange of messages
providing correct results to all units which are free of operation faults. This
property must be shown by verification and/or test techniques, which reveal
possibly existing protocol design errors. In this paper, we investigate a
deterministic test strategy consisting of deterministic fault injection at the
message level. Messages sent by faulty units are replaced by such wrong messages
that cause all program parts of the faultless protocol units to be executed
subsequently. Since this well-aimed fault injection poses complex problems, we
dynamically apply a heuristics based on the program flow of previous injections
of wrong messages. The program parts to be tested are selected with increasing
granularity until either a design error is found or sufficient structural
coverage is reached, which reflects the portion of tested program parts. By use
of a simplified program model, we present an algebraic analysis of the
structural coverage and the design error coverage, which is the probability to
reveal an existing design error. Our study points out clearly that fault
tolerant protocol testing by deterministic fault injection achieves better
coverages than by random fault injection.

Keywords: Fault-tolerant protocol testing, deterministic fault injection, coverage evaluation.